home *** CD-ROM | disk | FTP | other *** search
- unit NetUserU;
-
- interface
-
- uses
- WinProcs, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls;
-
- type
- TForm1 = class(TForm)
- Label1: TLabel;
- Label2: TLabel;
- procedure FormCreate(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- uses
- DbiProcs, DbiTypes, DB;
-
- {$R *.DFM}
-
- function GetBDENetUserName: String;
- var
- Name: array[0..dbiMaxUserNameLen] of Char;
- begin
- Check(DbiGetNetUserName(Name));
- Result := StrPas(Name);
- end;
-
- {$ifndef Win32}
- function WNetGetUser(lpUserName: PChar; var lpnLength: Integer): Word;
- far; external 'USER';
- {$endif}
-
- function GetNetUserName: String;
- var
- Len: Integer;
- Name: array[0..255] of Char;
- begin
- Len := SizeOf(Name);
- WNetGetUser({$ifdef Win32}nil, {$endif}Name, Len);
- Result := StrPas(Name);
- end;
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- Label1.Caption := GetNetUserName;
- {$ifdef Win32}
- { No database operations done yet, so in Delphi 2 we
- need to open the session to avoid nasty error message }
- Session.Open;
- {$endif}
- Label2.Caption := GetBDENetUserName;
- end;
-
- end.
-